* {
  box-sizing: border-box;
}
body {
  // 采用鸿蒙字体
  font-family: 'HarmonyOS-Hans', Arial, 'Microsoft YaHei', sans-serif;
  font-size: var(--o3-font_size-text1);
  line-height: var(--o3-line_height-text1);
  font-weight: 400;

  color-scheme: light dark;

  color: var(--o-color-info2);
  background-color: var(--o-color-fill1);

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}
code {
  // 代码中使用等宽字体
  font-family: 'Cascadia Code', 'SF Mono', 'Menlo', 'Consolas', 'DejaVu Sans Mono', 'Ubuntu Mono', monospace;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  &:first-child {
    margin-top: 0;
  }
  &:last-child {
    margin-bottom: 0;
  }
}

h1 {
  font-size: var(--o3-font_size-h1);
  line-height: var(--o3-line_height-h1);
  margin-top: var(--o3-gap-6);
  margin-bottom: var(--o-gap-3);
}
h2 {
  font-size: var(--o3-font_size-h2);
  line-height: var(--o3-line_height-h2);
  margin-top: var(--o3-gap-6);
  margin-bottom: var(--o-gap-3);
}
h3 {
  font-size: var(--o3-font_size-h3);
  line-height: var(--o3-line_height-h3);
  margin-top: var(--o3-gap-4);
  margin-bottom: var(--o-gap-2);
}
h4 {
  font-size: var(--o3-font_size-h4);
  line-height: var(--o3-line_height-h4);
  margin-top: var(--o3-gap-3);
  margin-bottom: var(--o-gap-1);
}
h5 {
  font-size: var(--o3-font_size-h4);
  line-height: var(--o3-line_height-h4);
  margin-top: var(--o3-gap-3);
  margin-bottom: var(--o-gap-1);
}
h6 {
  font-size: var(--o3-font_size-h4);
  line-height: var(--o3-line_height-h4);
  margin-top: var(--o3-gap-3);
  margin-bottom: var(--o-gap-1);
}
p {
  margin-top: var(--o3-gap-2);
}
.page-demo {
  padding: var(--o3-gap-2) var(--o3-gap-5);
  h4 {
    color: var(--o-color-info1);
  }
}
.col {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--o3-gap-2);
}
.block {
  padding: var(--o3-gap-4);
  border: 1px solid var(--o-color-control1-light);
}
.row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--o3-gap-3);
  & + .row { 
    margin-top: var(--o3-gap-6);
  }
}
section {
  border: 1px solid var(--o-color-control1-light);
  padding: var(--o3-gap-4);

  h4 {
    text-align: center;
    margin: 0;
    margin-bottom: var(--o3-gap-3);
  }
  + section {
    margin-top: var(--o3-gap-3);
  }
  .row {
    width: 100%;
  }
}
.col-2 {
  width: 50%;
  padding: var(--o3-gap-5);
  + .col-2 {
    margin-left: var(--o3-gap-3);
  }
}
section {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--o3-gap-4);
  &[block] {
    display: block;
  }
}

.btn {
  padding: var(--o3-gap-1) var(--o3-gap-4);
  border: 1px solid #ccc;
  display: inline-flex;
  border-radius: 4px;
  cursor: pointer;
  &:hover {
    border-color: #aaa;
  }
}
